package me.zhengjie.modules.system.service.zf;

import me.zhengjie.modules.system.domain.req.zf.*;
import me.zhengjie.modules.system.domain.rsp.BankRspDTO;
import me.zhengjie.modules.system.domain.rsp.CityRspDTO;
import me.zhengjie.modules.system.domain.rsp.zf.*;

import java.util.List;

public interface MerchantMachineService {

    Boolean merchantTerminalBinding(MerchantTerminalBindReqDTO reqDTO);

    List<CityRspDTO> queryArea(QueryProvinceReqDTO queryProvinceReqDTO);

    List<CityRspDTO> queryCity(QueryCityReqDTO queryProvinceReqDTO);

    List<CityRspDTO> queryCounty(QueryCountyReqDTO queryCountyReqDTO);

    Boolean smallMerchantNetworkAccess(SmallMerchantNetworkAccessReqDTO reqDTO);

    List<BankRspDTO> queryBank(QueryBankCardReqDTO queryCountyReqDTO);

    Boolean merchantTerminalUnBinding(MerchantTerminalUnBindingReqDTO reqDTO);

    List<QueryMerchantTerminalRspDTO> queryMerchantTerminal(QueryMerchantTerminalReqDTO reqDTO);

    QueryMerchantBaseInfoRspDTO queryMerchantBaseInfo(QueryMerchantBaseInfoReqDTO reqDTO);

    QueryMerchantRateInfoRspDTO queryMerchantRateInfo(QueryMerchantRateInfoReqDTO reqDTO);

    QueryMerchantSettlementInfoRspDTO queryMerchantSettlementInfo(QueryMerchantSettlementInfoReqDTO reqDTO);

    Boolean smallMerchantBaseInfoUpdate(SmallMerchantBaseInfoUpdateReqDTO reqDTO);

    Boolean smallMerchantRateInfoUpdate(SmallMerchantRateInfoUpdateReqDTO reqDTO);

    Boolean smallMerchantSettlementInfoUpdate(SmallMerchantSettlementInfoUpdateReqDTO reqDTO);

    Boolean businessMerchantBaseInfoUpdate(BusinessMerchantBaseInfoUpdateReqDTO reqDTO);

    Boolean businessMerchantSettlementInfoUpdate(BusinessMerchantSettlementInfoUpdateReqDTO reqDTO);

    Boolean businessMerchantNetworkAccess(BusinessMerchantNetworkAccessReqDTO reqDTO);

    MerchantMergeWithdrawalQueryRspDTO merchantMergeWithdrawalQuery(MerchantMergeWithdrawalQueryReqDTO reqDTO);

    MerchantMergeWithdrawalUpdateRspDTO merchantMergeWithdrawalUpdate(MerchantMergeWithdrawalUpdateReqDTO reqDTO);

    MerchantWalletQueryRspDTO merchantWalletQuery(MerchantWalletQueryReqDTO reqDTO);

    MerchantWithdrawalsListQueryRspDTO merchantWithdrawalsListQuery(MerchantWalletQueryReqDTO reqDTO);

    Boolean merchantMergerWithdrawalApplication(MerchantMergerWithdrawalApplicationReqDTO reqDTO);

    MerchantWithdrawalQueryRspDTO merchantWithdrawalQuery(MerchantWithdrawalQueryReqDTO reqDTO);
}
